Method and computer program for correcting errors in a manipulator system

ABSTRACT

The invention relates to a method for correcting errors in a manipulator system, wherein the manipulator system comprises at least one manipulator and is controlled by means of at least one manipulator program, wherein the method comprises the following method steps: ⋅providing at least one manipulator program, wherein the manipulator program comprises several operations; ⋅combining at least two of the operations to form at least one operation structure; ⋅defining at least one placement point (AP1, AP2), wherein the at least one placement point (AP1, AP2) forms the start andor the end of an operation structure (310); ⋅providing at least one reaction structure (320) and assigning the reaction structure (320) to an operation structure (310), wherein tlte at least one reaction structure (320) contains reaction operations (R1 to Rn), upon the execution of which, the manipulator program controls the manipulator system such that it is passed into a system state which corresponds to a placement point (AP1, AP2); ⋅executing the manipulator program and, if an error occurs, ⋅executing the reaction structure (320) such that the manipulator system is transferred into a system stare which corresponds to a placement point (AP1, AP2).

FIELD OF THE INVENTION

Invention relates to a method and a computer program for correctingerrors in a manipulator system. Such manipulator systems typicallycomprise at least one manipulator and are controlled by means of amanipulator program. If an error occurs in the manipulator system, thenthe manipulator system can be converted into a system state that allowsthe manipulator program to be continued.

BACKGROUND

Typical manipulator systems typically comprise at least one manipulatorwhich is configured to interface physically with its environment. By wayof example, such a manipulator may be an industrial robot which has atleast three movable, freely programmable axes and guides an endeffector, such as a gripper or a processing tool, for example. Suchmanipulator systems are used in automobile manufacture, for example.

Manipulator systems are typically controlled by means of a manipulatorprogram which predefines the system behavior in an application-specificmanner. The requirements made of the programming of manipulator programshave changed for example owing to the use of new sensor systems thatopen up new task areas in robotics. By way of example, newfunctionalities can be programmed through the use of force and/or momentsensors, such as are used for example in the industrial robot LBR iiwafrom KUKA AG. Said functionalities encompass, inter alia, search passeswith sensor systems, force-regulated tool operation, HRC (Human-RobotCooperation) capabilities and sensitive gripping.

Manipulators implement these functions by means of programmedoperations. To that end, a manipulator program typically comprises aplurality of operations. The juxtaposition of a plurality of operationsforms a process. During the execution of a process, an error may occurthat prevents continuation as planned. The reason for the occurrence ofan error may be for example a programming error (e.g. as a result ofincorrectly set parameter values) or the occurrence of an unforeseenevent in response to which the manipulator system cannot reactindependently or demands an interruption of the planned process.

If an error occurs, in principle there is the possibility of continuingwith a new, changed plan or of reversing the process. Some processes canbe completely reversed and repeated. Other processes are irreversibleprocesses and cannot be reversed; however, with knowledge of the type oferror, the process that was begun and terminated can be “repaired”.Nevertheless, it is often necessary to terminate the manipulator programand start it anew, as a result of which high restart times and costs aregenerated.

One example of an irreversible process is welding by means of amanipulator. If the welding process is interrupted, then the processcannot simply be repeated since the seam already welded could be damagedby the renewed (over-) welding. However, the elimination of an errorthat occurred, the process could be continued from the point ofinterruption.

Consequently, methods are required which enable (automated) continuationof processes begun, repetition and/or a change of plan in the process.If such methods are intended to be achieved with conventionalprogramming techniques, the complexity is additionally increased, as aresult of which the number of programming errors rises.

Nowadays manipulator programs are usually programmed usingdomain-specific programming languages based e.g. on BASIC or PASCAL.These programming languages are usually executed by an interpreter. Agreat proportion of programming is debugging and process or parameteroptimization, which is effected at the end of the programming of theregular process (i.e. of the manipulator program). Error detection andcorrection require considerable resources in terms of time andpersonnel, thus giving rise to high costs. Furthermore, there is thethreat of extensive damage if an error that has not been detected leads,e.g. to an interruption of series production.

Moreover, manipulator programs can be programmed with the aid of ageneral high-level language (e.g. Java). The program code is typicallycompiled and executed by a byte code interpreter (Java VM) of theprogramming language. However, the real-time capability of this type ofinterpreter is limited, and so the system time of the manipulatorprogram and that of the manipulator system can deviate from one another.Consequently, it is not possible to react to runtime errors in realtime. Furthermore, e.g. Java VM is typically not equipped for theparticular requirements of the manipulator programming. In particular,inter alia, the execution of the manipulator program starting from aspecific location in the sequence of the manipulator program (programentry), jumping to a specific location in the sequence of themanipulator program during the execution of the manipulator program, andstopping and continuing at a defined location in the sequence of themanipulator program are not supported. The rectification of errors ismade more difficult as a result.

In order to reduce the probability of errors, automobile manufacturersand system integrators have developed guidelines (so-called codingstandards, e.g. “VW standard”, “Daimler standard”, etc.) on the basis ofthe specific (manipulator) programming language. By way of example, suchguidelines stipulate that an error handling/reaction be systematicallyprovided for typical application errors. The manner in which programcode ought to be written is thus stipulated to the programmer.

After rectification of the error, such error handlings or errorreactions are intended to allow the manipulator program to be continuedas planned. Command structures used for this purpose, such as “GOTO”commands, “IF-ELSE” commands or other jump and branch commands, are notvery clear, however, which leads to an increase in the complexity of themanipulator programs. Furthermore, in the conventional error handling itmust often be assumed that every operation of the manipulator programthat has been carried out must be reset individually and in the correctorder. This is not possible in an automated manner by means ofconventional interpreters, such as Java VM. Irreversible processes, inparticular, are not suitable for an automated cancellation of theindividual operations.

It is an object of the present invention to provide a method and acomputer program and also a device which can at least partly eliminatethe disadvantages described.

SUMMARY

The object of the invention is achieved by means of a method forcorrecting errors in a manipulator system as claimed in claim 1, acomputer program as claimed in claim 14 and a device as claimed in claim16.

In particular, the object is achieved by means of a method forcorrecting errors in a manipulator system, wherein the manipulatorsystem comprises at least one manipulator and is controlled by means ofat least one manipulator program, and wherein the method comprises thefollowing method steps:

-   -   providing at least one manipulator program, wherein the        manipulator program comprises a plurality of operations;    -   combining at least two of the operations to form at least one        operation structure;    -   defining at least one rerun point, wherein the at least one        rerun point forms the beginning and/or the end of an operation        structure;    -   providing at least one reaction structure and assigning the        reaction structure to an operation structure, wherein the at        least one reaction structure includes reaction operations, upon        the execution of which the manipulator program controls the        manipulator system such that the latter is guided into a system        state corresponding to a rerun point;    -   executing the manipulator program and, if an error occurs,    -   executing the reaction structure, such that the manipulator        system is converted into a system state corresponding to a rerun        point.

Manipulator programs serve for controlling the manipulator system. Byway of example, a manipulator program can predefine movements and worksteps of a manipulator of the manipulator system. In this regard, it ispossible, for example, for a manipulator to be moved in accordance witha defined movement path in order to grip an object. After it, the objectcan be moved in accordance with a second defined movement path and bedeposited at a different position. Manipulator programs can likewisecomprise instructions relating to the mounting of pots, welding, rivetplacement or other tasks.

To that end, the manipulator program has a plurality of operations,wherein a plurality of operations are juxtaposed to form a process inorder to control the manipulator system and to perform theabovementioned tasks, for example. In this case, at least two of theoperations are combined to form an operation structure. Associatedoperations such as, for instance, mutually independent operations orfunctionally correlated operations are typically combined to form anoperation structure. The manipulator program can thus be made clearerand managed better.

If a plurality of operation structures are executed in succession, thenthe preceding operation structure in each case is concluded. However, anindividual first operation can start a second operation that extendsbeyond the execution time of the first operation. In this case, thecontext of the operation structure must be maintained until the lastoperation of the operation structure has been completely executed. Theoperation structures thus do not mutually influence one another.Consequently, operation structures executed in parallel lead to the sameresults as operation structures executed in series. Furthermore, achange in state of an implemented operation structure is permanent.

As described above, the beginning and/or the end of an operationstructure can form a rerun point. Proceeding from a rerun point, themanipulator program can be continued independently of its executionhistory. The same results are always achieved in this case.

Preferably, an operation structure is assigned at least one reactionstructure, wherein the at least one reaction structure includes reactionoperations upon the execution of which the manipulator program controlsthe manipulator system such that the latter is guided into a systemstate corresponding to a rerun point.

If an error then occurs which is based on a programming error or stemsfrom an unforeseen event, such a rerun point can be reached by means ofa reaction structure and the manipulator program can be continued fromsaid rerun point. In this case, the rerun point need not correspond tothe last rerun point that was passed through. Likewise, a differentoperation structure than the one in which the error occurred can also beexecuted by a rerun point. Consequently, a process that has begun can becorrected or continued with a new plan without the manipulator programhaving to be terminated or restarted.

Furthermore, the direct assignment of operation structure and reactionstructure makes possible a clear manipulator program, as a result ofwhich errors in the programming can be reduced. Furthermore, debuggingis simplified.

Preferably, an operation structure is consistent, such that theintegrity conditions of the manipulator system are complied with at arerun point and/or before and/or after the execution of the operationstructure. This ensures that a manipulator program can be continued on arerun point independently of its execution history. The same results arealways achieved in this case.

If an error occurs during the execution of the manipulator program, saiderror being caused for example by a programming error or by anunforeseen event in the manipulator system, then a reaction structurecan be executed which converts the manipulator system into the systemstate corresponding to a rerun point. In this case, not only is thesoftware “rewound”, but the manipulator system is actually convertedinto a system state corresponding to the rerun point.

The reaction structure preferably comprises reaction operations whichcan reverse individual operations if the relevant operation structuredescribes a reversible process. If the relevant operation structuredescribes an irreversible process, then the reaction structure cancontain reaction operations which enable continuation with a changedplan, i.e. which deviate from a product cancellation of executedoperations.

By way of example, during the placement of a rivet by means of amanipulator, the rivet can become stuck in a hole. Correct riveting isnot possible in this case. If the manipulator system detects this error,then the operation structure “riveting” can be terminated and anassigned reaction structure can be initiated. In this example, apossible reaction structure could comprise opening the riveting tool.Afterward, withdrawal of the stuck rivet from the hole could becommanded. Finally, a new rivet could be picked up, and the operationstructure “riveting” could be carried out anew.

Further reaction structures are likewise possible. By way of example,depending on the number of failed attempts to execute an operationstructure, a reaction structure can command a different procedure.Staying with the previous example, after the repeated iteration of theoperation structure “riveting”, leading to the same error “stuck rivet”,a different procedure could be commanded and an operator could becalled. Said operator could be asked to remove the stuck rivet manually.

An operation structure and an assigned reaction structure are preferablyimplemented in a common semantic module. A fixed assignment of operationstructure and reaction structure is thus ensured in the manipulatorprogram, whereby the complexity is reduced.

Besides reversing an operation structure, a reaction structure can alsocommand the termination of the operation structure and/or thecontinuation of the manipulator program from a different rerun point.Preferably, the system state of the manipulator system at a rerun pointand/or before and/or after the execution of an operation structure isnot consistent in all system parameters. However, it is necessary toprovide consistency in the essential parameters, such that it ispossible to continue or repeat the manipulator program proceeding fromsaid rerun point.

Inconsistent system parameters of this type can originate fromirreversible processes, for example. By way of example, if a weldingprocess is controlled by means of the manipulator program, then theparameter “weld seam length” is irreversible since, for example, thespecific part of the weld seam has already been welded by the time thatthe error occurs. If an error then occurs, the reaction structure cannotestablish the same system state as before the implementation of thewelding process. Therefore, in this case, the reaction structure mustprovide a corresponding reaction operation which makes it possiblerectify the causative error of the welding process (e.g. cleaning of thewelding tool) and then continue at the location of the weld seam atwhich the welding was interrupted. It is likewise possible for thereaction structure in this case to provide an alternative procedureaccording to which the interrupted weld seam is not intended to bewelded to completion, but rather is intended to be reworked in a manualwork step. In this case the manipulator program can be continued at adifferent location.

Preferably, the execution of an operation structure is interrupted uponthe occurrence of an error and the execution of a reaction structure iscontinued afterward. Consequently, an operation structure of themanipulator program can be repeatedly directly after the occurrence ofan error or the manipulator program can be continued for a differentrerun point. This makes it possible to minimize stoppage times of themanipulator system and to continue preferably in an automated manner,i.e. without intervention by an operator. The productivity of themanipulator system can thus be increased.

Particularly preferably, not every operation of an operation structureis assigned a dedicated reaction operation of a corresponding reactionstructure. Likewise, not every operation structure need be assigned adedicated reaction structure. Preferably, one reaction structure isassigned to one operation structure, wherein the reaction structure ispreferably assigned to at least one further operation structure. It isthus possible to react to errors of different operation structures witha reduced number of reaction structures. One reaction structure ispreferably assigned to a plurality of operation structures if theoperation structures have a common rerun point.

Preferably, the reaction structure includes at least one reactionoperation whose execution guides the manipulator system into a systemstate corresponding to the rerun point, which rerun point forms thebeginning of the operation structure in which the error occurred. Suchreaction structures make it possible to “rewind” the manipulator system.The operation structure in which the error occurred can thus berepeated. In this case, return to the rerun point need not correspond toa direct inversion of the operation structure, but rather can beexecuted on an alternative route (path). By way of example, if amovement of a manipulator is intended to be reversed and if the directreturn route is blocked, then the manipulator can be returned to thestarting point of the movement on an alternative movement path.

Preferably, the at least one reaction operation reverses an operation ofthe operation structure. Consequently, individual operations can bedirectly reversed. This is advantageous particularly in the case ofreversible processes. In this regard, by way of example, a movementcarried out by the manipulator can be directly reversed.

Preferably, an operation of the manipulator program is defined by atleast one parameter, wherein the at least one parameter is variable by areaction operation of the reaction structure. Preferably, the parametercan be adapted by means of the graphical user interface.

A parameter can be a numerical parameter, such as a manipulator speed,for example, or an instruction parameter that influences the sequence ofthe operations of an operation structure or the selection of thesubsequent operation structure. A reaction operation can thus have theeffect that the operation structure is continued with altered parameters(e.g. with a slower manipulator speed) or is repeated with alteredparameters. It is likewise possible to achieve an alternative branchingof the manipulator program.

Preferably, the reaction structure includes at least one reactionoperation whose execution continues the interrupted operation structurewith at least one changed parameter or executes the interruptedoperation structure anew, It is thus possible for operation structuresin which an error occurred to be executed anew or, if necessary, withchanged, preferably optimized, parameters.

Preferably, the reaction structure includes at least one reactionoperation whose execution interrupts the interrupted operation structureuntil an operator input has been effected, preferably by means of thegraphical user interface.

This makes it possible, if the error that occurred cannot automaticallybe rectified by the manipulator system, to request the intervention ofan operator. By way of example, the operator can be asked to check aspecific system state, to remove or exchange faulty parts or workpiecesfrom the manipulator system, and/or the like. Once the operator confirmsto the manipulator system that the task has been performed successively,then it is possible to continue with the reaction structure or anoperation structure.

Preferably, different reaction operations of the reaction structure areexecuted, depending on the type of error that has occurred. This isadvantageous since it is thus possible to react individually todifferent types of error. Preferably, different reaction structures areexecuted depending on the error that has occurred. To that end, anoperation structure is preferably assigned a plurality of reactionstructures that are executed depending on the error that has occurred.

By way of example, if an operation structure is terminated since asafety mechanism of the manipulator system intervenes, then theoperation structure may possibly simply be repeated if the reason forthe intervention by the safety facility was a temporary reason. On theother hand, if an error occurs which cannot be rectified in an automatedmanner, an operator can be called in, who can preferably carry outinputs by means of the graphical user interface in order to rectify anerror that has occurred. By way of example, it is possible that an errorrequires continuation at a different rerun point of the manipulatorprogram. By way of example, a control device can be skipped and thecomputer program can be continued at a different location (in thisrespect, see the above example, according to which an interrupted weldseam is not intended to be completed). Consequently, an erroneouslyexecuted operation of an operation structure and/or an erroneouslyexecuted operation structure can be followed by a corresponding reactionstructure of the manipulator program. This enables error-dependent,differentiated debugging and continuation of the manipulator programfrom a suitable rerun point. Furthermore, parameters can be changeddifferently preferably depending on the error that has occurred. By wayof example, it is possible to carry out repetition of an operationstructure with reduced speed of the manipulator if a first error occurs,or with an altered force threshold of force monitoring of themanipulator if a second error occurs. Other altered parameters arelikewise conceivable.

Preferably, the at least one operation structure is linked with at leastone further operation and/or operation structure at a rerun point andone of the linked operations and/or operation structures is executedafter the rerun point has been reached. In this case, the rerun pointcan be reached via an operation structure (i.e. forward) or via areaction structure (i.e. backward). A link of a plurality of operationstructures with a rerun point makes it possible to implement differentprogram sequences by means of the branching or the manipulator program.Consequently, after reaching a rerun point it is possible to continuewith different operation structures/operations. This enables flexibleerror correction. Likewise, an operation structure can preferably beexecuted with changed parameters, depending on the error that occurred.

Preferably, a parameter is a numerical parameter or an instructionparameter. Numerical parameters are parameters which are expressed innumerical values and correspond to physical variables. The latter arefor example speeds of the manipulator, force thresholds, momentthresholds, wait times and the like. Instruction parameters influencethe sequence of the manipulator program and predefine for example theexecution order of the operation structures or of individual operations.

Preferably, the manipulator program includes real-time operations andreal-time reaction operations and also non-real-time operations andnon-real-time reaction operations, and wherein all real-time reactionoperations and non-real-time reaction operations are ended before theexecution of a real-time operation. By determining non-real-time andreal-time operations and/or reaction operations, it is possible toachieve a deterministic behavior of the manipulator program. If theintention is to carry out a real-time operation and/or reactionoperation, then it is ensured that the time of the manipulator programand the actual system time correspond.

By contrast, if non-real-time operations are executed, then the time ofthe manipulator program and the actual system time can deviate from oneanother. By way of example, non-real-time operations and/or reactionoperations can thus run in the background.

The object is furthermore achieved by means of a computer program havingprogram commands which, when they are loaded on a computer and/ormicrocontroller, cause the computer and/or microcontroller to executethe method described. Such computer programs can be loaded on devicesconfigured to control manipulator systems. Preferably, an operationstructure and an assigned reaction structure are implemented in the samemanipulator program part and preferably form a semantic module. As aresult, the operation structures or reaction structures are closelylinked with one another, such that the programming can be made clear.Furthermore, the computer program is preferably implemented as part ofthe manipulator program. Likewise, the computer program can be astandalone computer program.

The object is furthermore achieved by means of a device configured toexecute the computer program. Such devices are for example controldevices of the manipulator system.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is described in detail below with reference to FIGS. 1 to5, in which

FIG. 1 shows a method for debugging in accordance with the prior art;

FIG. 2 shows a schematic illustration of a semantic module of anoperation structure and of a reaction structure;

FIG. 3 shows a schematic illustration of an operation structure and of areaction structure of the manipulator program;

FIG. 4 shows a schematic illustration of a model of a manipulatorprogram; and

FIG. 5 shows a schematic illustration of an application of themanipulator program.

DETAILED DESCRIPTION

In particular, FIG. 1 shows a schematic illustration of error handlingof a manipulator program 1 in accordance with a known method. After theexecution of a process step S1, S2, S3, a check is made to determinewhether the respective process step has been carried out successfully.If this is the case, it is possible to continue with the followingprocess step S2. If an error occurs, then the manipulator program jumpsto an error handling structure F1, F2, F3, which ends the manipulatorprogram. After the rectification of the error, the manipulator programhas to be started anew. This error handling is inflexible and istherefore suitable for manipulator systems only to a limited extent. Ifcomplicated error situations are also intended to be covered byconventional methods, then the complexity of the manipulator programrises and thus so does the error probability for possible programmingerrors.

FIG. 2 shows a schematic illustration 2 of a semantic module of acomputer program for carrying out a method for correcting errors in amanipulator system. In this case, the semantic module 200 is subdividedinto an operation structure 210 and into a reaction structure 220. If anerror occurs during the execution of the operation structure 210, thenthe operation structure 210 is interrupted and the process continueswith the reaction structure 220.

The reaction structure 220 includes reaction operations 221 to 225. In afirst reaction operation 221, the type of error that occurred isdetermined and a decision is made regarding with which of the reactionoperations 222-224 the process is intended to continue. By way ofexample, reaction operation 222 can comprise instructions that command acontinuation of the operation structure 210 with a changed parameterset. reaction operation 223 can comprise for example instructions thatat least partly reverse the operations of the executed and interruptedoperation structure 210. reaction operation 224 can comprise atermination instruction, such that the process does not continue withoperation structure 210, but rather with a further operation structure.

The reaction operation 225 comprises an instruction that defines thererun point and the following operation structure with which themanipulator program is intended to be continued. Such a rerun point canbe defined for example at the beginning of the operation structure 210,such that the operation structure 210 can be executed anew. The renewedexecution of the operation structure 210 can be effected, ifappropriate, with a changed parameter set. Likewise, other rerun pointscan also be used for continuing the manipulator program. A branching anddiverse reactions to errors are thus possible. Since both the operationstructure and the reaction structure are implemented in the samesemantic module, the manipulator program remains clear and allows anindividual adaptation of the operation structure and/or of the reactionstructure. Programming errors can thus be rectified rapidly and theprobability of programming errors arising is reduced on account of thereduced complexity and increased polarity.

FIG. 3 shows a schematic illustration of an operation structure 310 andof a reaction structure 320. The operation structure 310 comprises aplurality of operations O1 to On. Said operations are preferablyexecuted sequentially, as indicated by the straight arrows depicted in acontinuous fashion. The operation structure 310 begins at a first rerunpoint AP1 and ends at a second rerun point AP2. The manipulator systemis preferably consistent at the rerun points. Consequently, theoperation structure can be executed from a rerun point independently ofthe previous execution history and yields the same results.

The operation structure 310 is assigned a reaction structure 320comprising a plurality of reaction operations R1 to Rn. In the caseillustrated, if an error occurs in an operation O1 to On. firstly therelevant operation O1 to On is revered by means of the correspondingreaction operation R1 to Rn. If this is successful, a decision can bemade as to whether the operation O1 to On in which the error occurred isintended to be executed anew, or whether further past operations O1 toOn are intended to be reversed by means of further reaction operationsR1 to Rn. The invention is not restricted to the embodiment shownherein. In particular, it is also possible for a plurality of operationsto be reversed by a reaction structure, or it is also possible to take adifferent path than actually “reversing” an operation to a previousrerun point.

FIG. 4 shows a schematic model 4 of a manipulator program, comprising aplurality of operations O′1 to O′21 and a plurality of reactionoperations R′1 to R′30. Beginning at rerun point AP5, the operation O′1can be executed. The envisaged program sequence is illustrated by dottedarrows. The manipulator program subsequently executes the operation O′2.Here there is the possibility of branching to one of the operationsO′3-O′5. In the example shown, the program sequence leads to operationstructure O′3. The process subsequently continues with operationstructure O′10, to which the rerun point AP7 is assigned. In thefollowing operation structure, the operations O′11, O′13, O′14 and O′16are executed successively, wherein an error 400 occurs during theexecution of the operation O′16. The erroneous operation O′16 isterminated and the process continues with the reaction operation R′1.

The reaction operation R′1 provides two possible procedures. The firstleads to reaction operation R′10 and the second leads to reactionoperation R′20, which leads to rerun point AP7. From rerun point AP7,the process can continue with operation O′10 or return via the reactionoperation R′30 to operating point AP6, which is assigned to theoperation O′2. Consequently, it is possible for different operations tobe reversed by means of different reaction operations or, if processesare irreversible, it is also possible to choose different paths throughthe manipulator program. A path denotes the sequence of operationsand/or reaction operations.

FIG. 5 shows one exemplary example of an application of the method. Inaccordance with the application, in illustration A, a first part 510having a bayonet catch 511 is aligned above a second part 520. Thesecond part 520 comprises a projection 521, which can latch with thebayonet catch 511. In order to assemble the two parts 510, 520, firstlya manipulator has to align the first part 510 concentrically relative tothe second part 520. Once this has been done, the first part 510 can belowered (see illustration B), such that the projection 521 is introducedinto the bayonet catch 511 of the part 510. Afterward, the first part510 is rotated by means of the manipulator (illustration C), such thatthe bayonet catch 511 latches with the projection 521. If an error thenoccur for example during the lowering of the first part 510, by means ofa reaction structure the manipulator program can be induced to begin thealignment of the two parts 510, 520 anew. If this fails, i.e. if theerror cannot be rectified automatically, an operator can be called in,who for example positions the first part 510 correctly with respect tothe second part 520 or removes the first part 510. Consequently, theassembly process can be continued and an error that occurs can berectified, without the manipulator program having to be terminated andstarted anew.

LIST OF REFERENCE SIGNS

-   AP1-AP9 Rerun points-   E1 Ending step-   F1 to F3 Error structures-   O1 to On Operations-   O′1 to O′21 Operations-   R1 to Rn Reaction operations-   R′1 to R′30 Reaction operations-   S1 to S3 Execution steps-   200 Semantic module-   210; 310 Operation structure-   220; 320 Reaction structure-   221, 222, 223, 224, 225 Reaction operations-   400 Error-   610 First part-   620 Second part-   611 Bayonet catch-   621 Projection

What is claimed is:
 1. A method for correcting errors in a manipulatorsystem, wherein the manipulator system comprises at least onemanipulator and is controlled by means of at least one manipulatorprogram, and wherein the method comprises: providing at least onemanipulator program, wherein the manipulator program comprises aplurality of operations; combining at least two of the operations of theplurality of operations to form at least one operation structure;defining at least one rerun point wherein the at least one rerun pointforms the beginning and/or the end of an associated operation structureof said at least one operation structure; for the at least one rerunpoint, providing at least one reaction structure and assigning the atleast one reaction structure to the associated operation structure,wherein the at least one reaction structure includes reactionoperations, upon the execution of which the manipulator program controlsthe manipulator system such that the manipulator system is guided into asystem state corresponding to said rerun point; executing themanipulator program; when a first type of error occurs at a given point,executing a reaction structure of the at least one reaction structure,such that the manipulator system is converted into a system statecorresponding to the rerun point for which said executed reactionstructure was provided; and when a second type of error, different fromthe first type or error, occurs at the same given point, executingdifferent reaction operations of said executed reaction structure. 2.The method as claimed in claim 1, wherein each of the at least oneoperation structure is consistent, such that, at the associated rerunpoint and/or before and/or after the execution of the operationstructure, the integrity conditions of the manipulator system arecomplied with.
 3. The method as claimed in claim 1, wherein the systemstate of the manipulator system at a rerun point of the at least onererun point and/or before and/or after the execution of an operationstructure of the at least one operation structure is not consistent inall system parameters.
 4. The method as claimed in claim 1, wherein theexecution of an operation structure of the at least one operationstructure is interrupted upon the occurrence of an error, and the methodsubsequently continues with the execution of the associated reactionstructure.
 5. The method as claimed in claim 1, wherein the at least onereaction structure includes at least one said reaction operation theexecution of which guides the manipulator system into the system statecorresponding to the rerun point which rerun point forms the beginningof the operation structure in which the error occurred.
 6. The method asclaimed in claim 1, wherein execution of the at least one reactionoperation of the at least one reaction structure interrupts aninterrupted operation structure of the at least one operation structureuntil a user input has been effected.
 7. The method as claimed in claim1, wherein an operation of the manipulator program is defined by atleast one parameter, and wherein the at least one parameter is variableby the reaction operation of the reaction structure.
 8. The method asclaimed in claim 1, wherein the reaction structure includes at least onesaid reaction operation the execution of which continues an interruptedoperation structure of the at least one operation structure with atleast one changed parameter or executes the interrupted operationstructure anew.
 9. The method as claimed in claim 6, wherein at leastone reaction operation of the reaction operations reverses an operationof the associated operation structure.
 10. The method as claimed inclaim 1, wherein a first operation of the at least one operationstructure is linked with at least one further operation of the pluralityof operations and/or operation structure of the at least one operationstructure at a first rerun point of the at least one rerun point and oneof the linked least one further operation and/or operation structure isexecuted after the first rerun point has been reached.
 11. The method asclaimed in claim 10, wherein a parameter is a numerical parameter or aninstruction parameter.
 12. The method as claimed in claim 1, wherein themanipulator program includes real-time operations and real-time reactionoperations and also non-real-time operations and non-real-time reactionoperations, and wherein all real-time reaction operations andnon-real-time reaction operations are ended before the execution of areal-time operation.
 13. A computer and/or microcontroller running aprogram having program commands which, when they are loaded on thecomputer and/or microcontroller, cause the computer and/ormicrocontroller to execute the method as claimed in claim
 1. 14. Thecomputer and/or microcontroller as claimed in claim 13, wherein the atleast one operation structure and the associated reaction structure areimplemented in the same manipulator program part and form a semanticmodule.
 15. A method for correcting errors in a manipulator system,wherein the manipulator system comprises at least one manipulator and iscontrolled by means of at least one manipulator program, and wherein themethod comprises the following method steps: providing at least onemanipulator program, wherein the manipulator program comprises aplurality of operations; combining at least two of the operations toform at least one operation structure; predefining at least one rerunpoint, wherein the at least one rerun point forms the beginning and/orthe end of an associated said operation structure; for the at least onererun point, providing at least one reaction structure and preassigningthe reaction structure to the associated operation structure, whereinthe at least one reaction structure includes reaction operations, uponthe execution of which the manipulator program controls the manipulatorsystem such that the manipulator system is guided into a system statecorresponding to said rerun point; executing the manipulator programand, when a first type of error occurs at a given point: executing thereaction structure, such that the manipulator system is converted into asystem state corresponding to the rerun point for which said reactionstructure was provided; and when a second type of error, different fromthe first type or error, occurs at the same given point: executingdifferent reaction operations of said executed reaction structure. 16.The method as claimed in claim 15, wherein the at least one reactionstructure includes at least one said reaction operation the execution ofwhich guides the manipulator system into the system state correspondingto the rerun point which rerun point forms the beginning of theoperation structure in which the error occurred.
 17. The method asclaimed in claim 15, wherein execution of the reaction structurereaction operation the execution of which continues an interruptedoperation structure of the at least one operation structure with atleast one changed parameter or executes the interrupted operationstructure anew.
 18. The method as claimed in claim 15, whereinresponsive to the execution of the reaction structure reaction operationthe manipulator further proceeds to operate from the rerun point.